package cc.rengu.redp.hawk.service;

import cc.rengu.redp.common.domain.QueryRequest;
import cc.rengu.redp.common.exception.RedpException;
import cc.rengu.redp.hawk.domain.HawkMonitorConfig;
import cc.rengu.redp.hawk.domain.HawkMonitorConfigVo;
import cc.rengu.redp.hawk.domain.HawkMonitorShow;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * @author xushitang
 */
public interface HawkMonitorConfigService extends IService<HawkMonitorConfig> {

    IPage<HawkMonitorConfigVo> findHawkMonitorConfig(QueryRequest request, HawkMonitorConfigVo hawkMonitorConfigVo);

    void createHawkMonitorConfig(HawkMonitorConfigVo hawkMonitorConfigVo);

    void deleteHawkMonitorConfig(String[] ids) throws RedpException;

    void updateHawkMonitorConfig(HawkMonitorConfigVo hawkMonitorConfigVo) throws RedpException;

    void useEnableHawkMonitorConfig(String id, Boolean useEnable);

    HawkMonitorConfigVo getConfigById(String id);

    List<HawkMonitorShow> getGraphToShow();

    List<String> groupList();
}
